Increasingly, users access applications offered via computing, networking, and storage resources located in a data center. These applications run in a distributed computing environment, which is sometimes referred to as the cloud computing environment. Computer servers in a data center are interconnected via a network and thus the applications running on the computer servers can communicate with each other via the network. In large data centers the communication of messages among the computer servers can cause congestion in the network resulting in poor performance. Traditional congestion control mechanisms in data centers use network switches to handle congestion management. The use of network switches results in the management of congestion at a coarse granularity with attendant downsides.
Thus, there is a need for methods and systems that alleviate at least some of these issues.